//
//  KeyboardSettingsTests.swift
//  DuckDuckGo
//
//  Copyright © 2020 DuckDuckGo. All rights reserved.
//
//  Licensed under the Apache License, Version 2.0 (the "License");
//  you may not use this file except in compliance with the License.
//  You may obtain a copy of the License at
//
//  http://www.apache.org/licenses/LICENSE-2.0
//
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS,
//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//  See the License for the specific language governing permissions and
//  limitations under the License.
//

import XCTest
@testable import DuckDuckGo
@testable import Core

class KeyboardSettingsTests: XCTestCase {
    
    override func setUp() {
        super.setUp()
        
        setupUserDefault(with: #file)
        UserDefaults.app.removeObject(forKey: UserDefaultsWrapper<String>.Key.keyboardOnAppLaunch.rawValue)
        UserDefaults.app.removeObject(forKey: UserDefaultsWrapper<String>.Key.keyboardOnNewTab.rawValue)
    }
    
    func testWhenNewThenDefaultLayoutIsNavigationBarAndFavoritesIsOn() {
        XCTAssertFalse(KeyboardSettings().onAppLaunch)
        XCTAssertTrue(KeyboardSettings().onNewTab)
    }
    
    func testWhenSettingsChangedThenTheyArePersisted() {
        var settings = KeyboardSettings()
        settings.onAppLaunch = true
        settings.onNewTab = false
        
        XCTAssertTrue(KeyboardSettings().onAppLaunch)
        XCTAssertFalse(KeyboardSettings().onNewTab)
    }

}
